The Course Name: APIC-EM-PP-APIC-EM Programmability with Python v3.0
The Duration: 5 Days
The Overview:
This course is specifically designed for non-programmer network administrators who want to automate their tasks on APICEM and Nexus 9K. The technology we teach in this course suits many vendors including Cisco as well.
What You Will Learn:
Attendees will acquire the necessary skills to write programs with Python to interact with Cisco devices either through SSH or RESFful APIs offered by the device.
The Course Index:
Day 1
- Programming Introduction
- Comparing different programming languages
- Why Python?
- Python2 vs. Python3
- Installing Python
- Interactive Python Interpreter
- Python Script
- Reserved Words
- Basic Syntax
- Lines
- Comments
- Errors (syntax, exceptions)
- Numeric Types
- Mutable vs. Immutable Objects
- Naming Objects (Identifiers)
- Strings
- String Methods
- Formatting strings
- Reading From Input
- Boolean
- Built-in Functions
- Type Conversion
- Statements
- Operators
- Operators Precedence
- Flow Control and Decision Making
- Code Blocks and Indentation
- While Loop
- Loop Control Statements (break, continue, pass)
Day 2
- Lists and Tuples
- Iteration
- List Operations and Methods
- Nested lists
- Packing and Unpacking
- Dictionaries
- Dictionary Operations and Methods
- Nested dictionaries
- Bytes and Bytearray
- Unicode in python3
- User Defined Functions
- Function Positional Arguments
- Function Keyword Arguments
- Function Arguments Default Value
- Variable Length Arguments
- Scope of Variables
- Modules
- What is a module?
- import Statement
- Locating Modules dir( ) Function
- Installing modules with pip
- Some useful modules (sys, os, math, ipaddress,…)
- Working with files
- STDIN and STDOUT
- Exceptions
- Regular Expressions
- Data formats (XML, JSON)
Day 3
- Layer 4 network programming
- Socket Programming
- SSH Protocol
- Automating Device Operations with Paramiko
- Multi threading
- Introduction to Ansible
Day4
- HTTP
- HTTP Methods (GET, POST, PUT, DELETE)
- HTTP Request
- HTTP Response
- Headers
- Basic Authentication
- Cookies
- Requests Module
- HTTPS
Day 5
- REST APIs
- Postman
- Curl
- Working with simple RESTful APIs
- Nexus 9k API
- APIC-EM API